//
//  UITableViewHeaderFooterView+XBAdd.m
//  XBCategoriesDemo
//
//  Created by kevin007 on 2021/4/12.
//

#import "UITableViewHeaderFooterView+XBAdd.h"
#import "UIView+XBAdd.h"

@implementation UITableViewHeaderFooterView (XBAdd)
/** 从xib加载 */
+ (instancetype)headerFooterViewFromXibWithTableView:(UITableView *)tableView {
    NSString *identifier = self.reusedId;

    UITableViewHeaderFooterView *view =
        [tableView dequeueReusableHeaderFooterViewWithIdentifier:identifier];
    if (!view) {
        NSLog(@"register header footer view");
        [tableView registerNib:[UINib nibWithNibName:identifier bundle:nil]
            forHeaderFooterViewReuseIdentifier:identifier];
        view = [self headerFooterViewFromXibWithTableView:tableView];
    }
    return view;
}

/** 加载纯代码header footer view, 自动复用 */
+ (instancetype)headerFooterViewFromClassWithTableView:(UITableView *)tableView {
    NSString *identifier = self.reusedId;

    UITableViewHeaderFooterView *view =
        [tableView dequeueReusableHeaderFooterViewWithIdentifier:identifier];
    if (!view) {
        NSLog(@"register header footer view");
        [tableView registerClass:[self class] forHeaderFooterViewReuseIdentifier:identifier];
        view = [self headerFooterViewFromXibWithTableView:tableView];
    }
    return view;
}
@end
